using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace 游戏服务器.模板类
{
	public sealed class 对话数据
	{
		public static Dictionary<int, string> 数据表;

		public static Dictionary<int, byte[]> 字节表;

		public int 对话编号;

		public string 对话内容;

		public static byte[] 字节数据(int 对话编号)
		{
			if (对话数据.字节表.TryGetValue(对话编号, out var value))
			{
				return value;
			}
			if (对话数据.数据表.TryGetValue(对话编号, out var value2))
			{
				return 对话数据.字节表[对话编号] = Encoding.UTF8.GetBytes(value2 + "\0");
			}
			return new byte[0];
		}

		public static byte[] 合并数据(int 对话编号, string 内容)
		{
			if (对话数据.字节表.TryGetValue(对话编号, out var value))
			{
				return Encoding.UTF8.GetBytes(内容).Concat(value).ToArray();
			}
			if (对话数据.数据表.TryGetValue(对话编号, out var value2))
			{
				return Encoding.UTF8.GetBytes(内容).Concat(对话数据.字节表[对话编号] = Encoding.UTF8.GetBytes(value2 + "\0")).ToArray();
			}
			return new byte[0];
		}

		public static void 载入数据()
		{
			对话数据.数据表 = new Dictionary<int, string>();
			对话数据.字节表 = new Dictionary<int, byte[]>();
			string text;
			text = 自定义类.游戏数据目录 + "\\System\\Npc数据\\对话数据\\";
			if (Directory.Exists(text))
			{
				object[] array;
				array = 序列化类.反序列化(text, typeof(对话数据));
				foreach (object obj in array)
				{
					对话数据.数据表.Add(((对话数据)obj).对话编号, ((对话数据)obj).对话内容);
				}
			}
		}

		public 对话数据()
		{
			Class2.sov79KqzBKBU1();
			//base._002Ector();
		}
	}
}
